Systems and methods for location-based application installation

ABSTRACT

A system and/or method may be provided to install applications based on location. In particular, a location of a user device may be detected. Based on the location of the user device, one or more applications may be selected to be installed automatically on the user device. Further, when the user device departs from the location, the application may automatically be uninstalled. Thus, applications may be installed and/or uninstalled on the user device based on the location of the user device. The automatically installed application may provide functionality or information associated with the location that triggered the installation. For example, a merchant&#39;s store may be associated with the merchant&#39;s application which may be installed automatically on devices of customers who enter the merchant&#39;s store.

BACKGROUND

1. Technical Field

The present invention generally relates to systems and methods forlocation based application installation.

2. Related Art

With the increasing use of mobile devices and the improved networkingand online capabilities of these mobile devices, various applicationshave been developed or created to provide additional functions andcapabilities to these mobile devices. For example, a merchant may createan application that helps a customer with making purchases at themerchant. However, many applications are underutilized because users donot know about these applications or because users do not take timeand/or effort to download and install these applications. Thus, there isa need for a system or method that helps select and/or installapplications on mobile devices to provide greater utility for users.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 is block diagram of a networked system suitable for implementinglocation-based application installation according to an embodiment.

FIG. 2 is a flowchart showing a process for installing an applicationbased on location according to one embodiment.

FIG. 3 is a flowchart showing a process for uninstalling an applicationbased on location according to one embodiment.

FIG. 4 is a block diagram of a computer system suitable for implementingone or more components in FIG. 1 according to one embodiment.

Embodiments of the present disclosure and their advantages are bestunderstood by referring to the detailed description that follows. Itshould be appreciated that like reference numerals are used to identifylike elements illustrated in one or more of the figures, whereinshowings therein are for purposes of illustrating embodiments of thepresent disclosure and not for purposes of limiting the same.

DETAILED DESCRIPTION

According to an embodiment, a system and/or method may be provided toinstall applications based on location. In particular, a location of auser device may be detected. Based on the location of the user device,one or more applications may be selected to be installed automaticallyon the user device. Further, when the user device departs from thelocation, the application may automatically be uninstalled. Thus,applications may be installed and/or uninstalled on the user devicebased on the location of the user device.

In an embodiment, the location of the user device may be detected by aGlobal Positioning System (GPS). In another embodiment, the location ofthe user device may be determined by beacon signals received by the userdevice. For example, a location may be installed with a beacon deviceconfigured to broadcast a wireless signal, such as a WiFi signal, aBluetooth Low Energy (BLE) signal, or any other radio signal, indicatingthe location. Thus, when the user device receives the broadcast wirelesssignal, the location of the user device may be determined. Particularlocations may serve as triggers for automatic installation forparticular applications.

The automatically installed application may provide functionality orinformation associated with the location that triggered theinstallation. For example, a location of a merchant's store may beassociated with a merchant's application which may be installedautomatically on devices of customers who enter the merchant's store.The merchant's application may provide information about the store tothe customers and/or help customers shop or navigate the merchant'sstore. When the customer departs from the merchant's store, themerchant's application may automatically be uninstalled from the mobiledevice of the customer. Thus, the mobile device of the customer is notinundated with excess amount of applications.

In an embodiment, the applications that are designated for automaticinstallation required additional screening or security check. Forexample, application stores or application platform may require thatdevelopers of application that utilize the automatic installationfeature fulfill additional security and/or quality requirements beforethe application are qualified to utilize the automatic installationfeature. As such, spam wares or other illegitimate applications areprevented from using the automatic installation feature to pester userswith unwanted advertisements. In some embodiments, applications thatutilize the automatic installation feature have restricted functionalityor limited access to certain portions of the user device. For example,applications that utilize the automatic installation feature may berestricted from accessing user's contact list, calendar or other privateinformation without the user's express permission. These applicationsalso may be restricted from altering or deleting data from the userdevice.

In an embodiment, the installation data file for the application may bepreloaded before the user device reaches a triggering location. Thus,when the user device reaches the triggering location, the installationdata file is readily available to be executed for installing theapplication. In some embodiments, the installation data file may bedownloaded from an application store or from a merchant when the userdevice reaches the triggering location. Locations that triggerapplication installation may include various locations, such asPoint-Of-Sale of merchants, public event venues, theaters, shoppingarea, restaurants, schools, offices, tourist attraction, locations ofpublic transportation, transportation vehicles, parks, or any locationthat user may need information or service.

FIG. 1 is a block diagram of a networked system 100 configured toimplement a process for location based application installation inaccordance with an embodiment of the invention. Networked system 100 maycomprise or implement a plurality of servers and/or software componentsthat operate to perform various payment transactions or processes.Exemplary servers may include, for example, stand-alone andenterprise-class servers operating a server OS such as a MICROSOFT® OS,a UNIX® OS, a LINUX® OS, or other suitable server-based OS. It can beappreciated that the servers illustrated in FIG. 1 may be deployed inother ways and that the operations performed and/or the servicesprovided by such servers may be combined or separated for a givenimplementation and may be performed by a greater number or fewer numberof servers. One or more servers may be operated and/or maintained by thesame or different entities.

System 100 may include a user device 110 and an application server 170in communication over a network 160. Application server 170 may bemaintained by a merchant or a software company that develops and/oroffers various applications for consumer electronic devices. A user 105,such as a consumer, may utilize user device 110 to download and installapplications offered at the application server 170. For example, user105 may utilize user device 110 to visit a web site provided by theapplication server 170 to browse for applications or software contentsoffered at the application server 170. Although only one applicationserver is shown, a plurality of application servers may be utilized.

User device 110 and application server 170 may each include one or moreprocessors, memories, and other appropriate components for executinginstructions such as program code and/or data stored on one or morecomputer readable mediums to implement the various applications, data,and steps described herein. For example, such instructions may be storedin one or more computer readable media such as memories or data storagedevices internal and/or external to various components of system 100,and/or accessible over network 160. Network 160 may be implemented as asingle network or a combination of multiple networks. For example, invarious embodiments, network 160 may include the Internet or one or moreintranets, landline networks, wireless networks, and/or otherappropriate types of networks.

User device 110 may be implemented using any appropriate hardware andsoftware configured for wired and/or wireless communication over network160. For example, in one embodiment, the user device may be implementedas a personal computer (PC), a smart phone, wearable device, laptopcomputer, and/or other types of computing devices capable oftransmitting and/or receiving data, such as an iPad™ or an iPhone™ fromApple™.

User device 110 may include one or more browser applications 115 whichmay be used, for example, to provide a convenient interface to permituser 105 to browse information available over network 160. For example,in one embodiment, browser application 115 may be implemented as a webbrowser configured to view information available over the Internet, suchas a user account for online shopping and/or merchant sites for viewingand purchasing goods and services. User device 110 may also include oneor more toolbar applications 120 which may be used, for example, toprovide client-side processing for performing desired tasks in responseto operations selected by user 105. In one embodiment, toolbarapplication 120 may display a user interface in connection with browserapplication 115.

User device 110 also may include other applications to performfunctions, such as email, texting, voice and IM applications that allowuser 105 to send and receive emails, calls, and texts through network160, as well as applications that enable the user to communicate,transfer information, or make transactions.

User device 110 may include one or more user identifiers 130 which maybe implemented, for example, as operating system registry entries,cookies associated with browser application 115, identifiers associatedwith hardware of user device 110, or other appropriate identifiers, suchas used for payment/user/device authentication. In one embodiment, useridentifier 130 may be used to associate user 105 with a particularapplication account at the application server 170. A communicationsapplication 122, with associated interfaces, enables user device 110 tocommunicate within system 100.

User device 110 may include applications for collecting location data,such as geo-location data via Global Positioning System (GPS),temperature data, altitude data, humidity data, data regarding devicemovement, ambient sound data, imaging data via a camera, and etc.Further, geo-fencing or wireless beacon technology may be used to definea location. User device 110 may detect signals from devices thatimplement geo-fencing or wireless beacon technology. These environmentaldata may be utilized to determine a location or environment in whichuser device 110 is located.

Application server 170 may be maintained, for example, by a merchant ora software company which may provide applications or software contentsthat may be installed at consumer's computing devices to providefunctionalities at the computing devices. Application server 170 mayinclude a user location application 116 that may determine a location ofuser 105 to provide specific content to user 105. In some embodiments,user location application 116 may be able to determine a location ofuser device 110, which may be indicative of a location of user 105carrying the user device 110, and when the determined location of userdevice 110 is the same or near a designated location associated with anapplication, the associated application may be downloaded and/orinstalled at the user device 110. Application server 170 may includeapplication content 118 including installation data files of variousapplications. The installation data files may include files and/ordirectories of files that are downloadable by users for installingvarious applications on user devices. In an embodiment, applicationcontent 118 may also be time-specific content, such that the content maychange based on the time of day, day of the week, month, season, and thelike. As such, based on different time or date, different applicationcontent may be provided to the user. Application content 118 may alsoinclude applications that provide the functionality to browse andpurchase merchant items over network 160 to provide a digital storefrontfor a merchant. Application server 170 may also include an accountdatabase 120 that includes account information for users having anaccount on application server 170, such as user 105. Account informationin account database 120 may also include account information ofmerchants or organizations that develop applications that aredownloadable from the application server 170. Application server 170 mayinclude other applications 124 providing other functionalities.

Application server 170 may collect and store installation files ofvarious applications that may be downloaded by users. Some of theapplications may include a location-based installation feature. Anapplication that includes the location-based installation feature mayinclude information of one or more triggering locations that may triggerthe automatic installation of the application. For example, the one ormore triggering locations may be defined as a GPS coordinate and/or witha distance from the GPS coordinate. Thus, when a device carrying theinstallation file of the application is within the distance from the GPScoordinate, the installation file may be executed by the device toinstall the application automatically on the device. In another example,the one or more triggering locations may be defined by an instructionassociated with a wireless signal. Thus, when a device carrying theinstallation file of the application detects the wireless signalcarrying the instruction, the installation file may be executed by thedevice to install the application automatically on the device.

Applications that have the location-based installation feature may bepre-screened to have a higher security or quality standard. Becausethese applications may be installed automatically to user's devices, theapplications may have certain security restrictions. For example, theseapplications may not access user's private information, such as user'scontact list, calendar, and other private information, without user'sexpress permission. These applications also may go through a qualityscreening to ensure that the applications provide legitimate functionsor information related to the triggering location. Thus, applicationsthat merely spam users with unwanted advertisements may be excluded fromhaving the location-based installation feature.

Application server 170 may include a database that keeps track ofapplications that have the location-based installation feature and theirrespective triggering locations that trigger the automatic installation.Each triggering location may have one or more associated applicationsthat may be triggered for installation. Certain applications may haveexclusive triggering locations where only the certain application istriggered. Owners or developers of applications may pay a premium tohave exclusivity to certain triggering locations. In an embodiment, whena triggering location is associated with multiple applications, a usermay choose to install one or more of the multiple applications. An owneror a developer of an application may pay a premium to have theirapplication listed at the front of the list of applications to beselected by the user.

FIG. 2 is a flowchart showing a process 200 for installing anapplication based on location according to one embodiment. The process200 may be executed at user device 110, at application server 170, or acombination of user device 110 and application server 170. At step 202,the location of user device 110 may be detected. For example, userdevice 110 may include a GPS sensor configured to detect the locationand movement of user device 110 by tracking the GPS coordinate of userdevice 110. In another example, user device 110 may include a wirelesssignal receiver configured to detect wireless signals broadcasted fromwireless beacons, such as WiFi beacons or BLE beacons, located near userdevice 110. The wireless signals broadcasted from the wireless beaconsmay indicate that user device 110 is at or near certain triggeringlocations, such as a merchant's store, a restaurant, a public venue, orthe like.

The detected GPS coordinate or the detected wireless signals at the userdevice 110 may be used to determine the location of the user device 110.In an embodiment, the user device 110 may analyze the signals todetermine the location of user device 110. In another embodiment, theuser device 110 may send information regarding the signals toapplication server 170 and the user location application 116 at theapplication server 170 may analyze the information to determine thelocation of user device 110.

At step 204, based on the location of user device 110, user device 110or application server 170 may determine whether there is an applicationassociated with the location. For example, one or more applications thathave the location-based installation feature may be pre-loaded to theuser device 110. Each of the applications that have the location-basedinstallation feature may have triggering locations that triggerinstallation of the applications. The user device 110 may keep track ofthese triggering locations and may monitor whether the user device is ator near these triggering locations.

In another example, the user device 110 may receive wireless signalsfrom various wireless beacons. The wireless beacons may broadcastwireless signals that indicate a location and instructions forinstalling one or more applications. The user device 110 may receive thewireless signals and may determine whether the wireless signals includeinstructions for installing certain applications. In still anotherexample, the user device 110 may provide information regarding thedetected location or the received wireless signal to the applicationserver 170. The application server 170 may then determine whether thelocation or the wireless signal is associated with an application thatis to be automatically installed.

For example, the application server 170 may keep a database ofapplications that have the location-based installation feature and theirrespective triggering location or triggering wireless signal orinstructions. Each of the applications that have the location-basedinstallation feature may have a unique identification (ID). The wirelesssignals broadcasted by the wireless beacons may include the unique ID ofthe application that is to be triggered for installation. Theapplication server 170 may search the database to determine whether thelocation of the user device 110 or the unique ID included in thewireless signals received from the user device 110 matches anytriggering locations or unique ID associated with an application thathas the location-based installation feature.

If the location is not associated with any applications at step 204, theprocess may return to step 202 to continue detecting the movement and/orlocation of user device 110. If the location is associated with anapplication at step 204, the user device 110 or the application serve170 may determine whether the application associated with the triggeringlocation already has been installed at step 205. For example, theapplication registry of the user device 110 may be checked to see if theassociated application has been installed. If the associated applicationalready is installed at the user device 110, the process may proceed tostep 212, at which the associated application is automatically launched.For example, the executable program file of the associated applicationmay be activated and the processor of the user device 110 may begin toprocess and/or execute the program of the associated application. In anembodiment, the user device 110 may ask the user 105 whether theassociated application should be launched. When the user 105 givespermission, the applicant then may be launched.

If the associated application is not already installed at step 205, theuser device 110 or the application server 170 may inquire the user 105whether the application should be installed on user device 110. Thetriggering location may be associated with one or more applications.Thus, the inquiry may present a list of applications that are associatedwith the triggering location. The list may include the name of theapplication, the owner/developer of the application, description of theapplication including purpose, functions, file size, user ratings, andthe like. Thus, the user may select the appropriate applications toinstall.

The user device 110 or the application server 170 may have anapplication that manages applications that have the location basedinstallation feature. The user 105 may be allowed to customize varioussettings related to the location based installation feature. Inparticular, the user 105 may turn off the inquiry step 206, such thatlocation-based installations are executed automatically without askingthe user 105 by skipping step 206. User 105 also may select certaintypes of applications that may be installed automatically without askingthe user 105 and certain types of applications that require the user'sapproval before installation. For example, based on user's preferences,the user 105 may allow applications related to location direction ornavigation to be installed automatically without user's permission whilerequiring applications related to shopping to obtain the user'spermission first before installation. Application server 170 may setcertain applications that are mandatory to be installed regardless ofthe user's preferences. These mandatory applications may be related tosecurity warning or safety notification that the user 105 must receiveregardless of user's preferences.

In an embodiment, a triggering location may be associated with multipleapplication each is designated for a different time of a day, differentdays of a week, or different months or seasons of a year. For example,for the same stadium, different days may be associated with differententertainment or sporting event. Thus, based on the different time, day,month, season, or year, an appropriate application may be selected andinstalled for the triggering location.

In an embodiment, the user device 110 or the application server 170 maymonitor the location of the movement of the user device 110 after theuser device 110 reaches a triggering location that triggers theinstallation of an application. The user device 110 or the applicationserver 170 may wait and see if the user device 110 remains in thetriggering location for more than a predetermined amount of time, e.g.,5 minutes. After the user device 110 has been in the triggering locationfor more than the predetermined amount of time, the user device 110 orthe application server 170 may then automatically install theapplication or ask the user 105's permission to install the application.This may ensure that the user 105 is staying in the triggering locationto be able to utilize the location-based application, rather than merelypassing through the triggering location.

At step 208, the user device 110 or the application server 170 maydetermine whether the application is permitted to be installed. If theapplication is not allowed to be installed at step 208, the process mayreturn to step 202 to continue detecting the movement and/or location ofuser device 110. In an embodiment, if the user 105 declines theinstallation of a certain application, the certain application may beflagged for a predetermined amount of time within which the user is notinquired again about installing the certain application. Thus, the user105 is not continuously bombarded with inquiries for installing the sameapplication which the user 105 previously has declined.

If the application is allowed to be installed at step 208, the userdevice 110 may install the application associated with the location atstep 210. In particular, the user device 110 may copy and/or generateprogram codes from the installation file of the application and storethem at appropriate memory locations of the user device 110. Theapplication also may be added to the application registry at the userdevice 110. Thus, the application may be ready to be executed by theuser 105 at the user device 110. For example, the user device 110 mayhave an application installer that may unpack and/or decrypt theinstallation file of the application and may set up the applicationready to be executed by the user device 110. If the application isallowed to be installed, the application may be flagged. Thus, the nexttime the user device 110 enters the same triggering location, theapplication may automatically be installed without user's expresspermission, because the user previously has given permission for thisapplication.

In an embodiment, the installation files of the application may bepre-loaded to the user device 110. For example, the installation filesmay be downloaded in the background while the user device 110 isapproaching the triggering location. When the user device 110 is at ornear the trigger location of the application, the installation filesalready have been loaded and ready to be executed to install theapplication at the user device 110. In another embodiment, theinstallation files of the application are stored at application server170. When the user device 110 is at or near the trigger location of theapplication, the user device 110 may download the installation filesfrom the application server 170 and then execute the installation filesto install the application at the user device 110.

After the application is installed, the application may automatically belaunched at step 212 to provide service and/or information to the user105. The application associated with the triggering location may providevarious functionality and/or information related to the triggeringlocation. For example, a merchant may have a shopping application whichmay be automatically installed on mobile devices of users who arevisiting the merchant. The shopping application may provide users withsuggestions, directions, and/or information to help users navigate andshop at the merchant's store. In another example, an operator of apublic venue, such as a stadium, a park, a shopping mall, a theater, aconcert hall, an amusement park, a tourist attraction, a museum, abuilding complex, a campus, or any other public venues, may have anapplication which may be automatically installed on mobile devices ofcustomers or visitors who are visiting the public venue to provideinformation to help navigate them around the public venue, e.g., audiotour, or to help them find various amenities in the public venues. Otherplaces, such as restaurants, daycare, or stores also may haveapplications that are installed automatically on the mobile devices ofcustomers or users to facilitate payments or other transactions.

The applications that are installed based on location may haveadditional restrictions. For example, the applications may not haveaccess to the user 105's private information, such as contact list orcalendar. The applications also may not make substantive changes to theuser device 110. In an embodiment, the applications that are installedautomatically without the user's permission have more restriction thanthe applications that are installed after receiving the user'spermission. For example, the applications that are installed after theuser's permission may have the same level of restriction as those thatare not installed based on location.

Accordingly, various location-based applications may be automaticallysuggested and/or installed on the user 105's user device 110 when theuser device 110 is located at certain triggering location. The user 105no longer needs to spend time and effort to search or find applications.These applications may provide appropriate functions and information tothe user device 110 and may no longer be underutilized.

FIG. 3 is a flowchart showing a process for uninstalling an applicationbased on location according to one embodiment. The process 300 may beexecuted at user device 110, at application server 170, or a combinationof user device 110 and application server 170. At step 302, the userdevice 110 or the application server 170 may determine whether anylocation-based applications are installed at the user device 110. Forexample, the user device 110 or the application server 170 may keeptrack of one or more location-based applications that are currentlyinstalled at the user device 110.

At step 304, the user device 110 may detect the location of the userdevice 110. As noted above in step 202, the user device 110 may detectthe location of the user device 110 based on a GPS sensor. The userdevice 110 also may detect the location based on wireless signalsreceived from nearby wireless beacons. At step 306, the user device 110or the application server 170 may determine whether the user device 110still remains in the triggering location. For example, the user device110 or the application server 170 may determine whether the currentlocation of the user device 110 is still within the triggering locationfor the application. In another example, the user device 110 or theapplication server 170 may determine whether the user device 110 stillis receiving wireless signals broadcasted from the wireless beacons forinstalling the application.

If the user device 110 or the application server 170 determines that theuser device 110 still remains in the triggering location at step 306,the process may return to step 304 in which the location and/or movementof the user device 110 may continue to be monitored. If the user device110 or the application server 170 determines that the user device 110has departed from the triggering location, the user device 110 mayuninstall the application previously installed for the triggeringlocation at step 308. For example, the user device 110 may run theinstaller application again to uninstall the application. Programs orexecutable files associated with the application may be deleted fromrespective memory locations of the user device 110. The application alsomay be removed from the program registry at the user device 110. In anembodiment, the installation file for the application may remainundeleted at the user device 110. As such, the installation file may beused to install the application again later when the user device 110enters the triggering location again.

In an embodiment, after the user device 110 departs from the triggeringlocation, the user device 110 may wait for a predetermine amount oftime, e.g., 10 minutes, before uninstalling the application. This mayensure that the user device 110 has departed from the triggeringlocation for real before the application is uninstalled. In anembodiment, the user device 110 may uninstall the application after theuser device 110 has departed a predetermined distance, e.g., 200 yards,from the triggering location.

In an embodiment, if the user device 110 has departed from thetriggering location but the user 105 still continues to use theapplication, the user device 110 or the application server 170 may askthe user 105 whether the user 105 wishes to keep the application. If theuser 105 confirms that the application is to be kept, the user device110 may leave the application installed.

Accordingly, the application may be uninstalled from the user device110, when the user device 110 departs from the triggering location.Because the location-based application is removed from the user device110, the user 105 is not inundated with too many applications installedon the user device 110.

FIG. 4 is a block diagram of a computer system 400 suitable forimplementing one or more embodiments of the present disclosure. Invarious implementations, the user device may comprise a personalcomputing device (e.g., smart phone, a computing tablet, a personalcomputer, laptop, wearable device, Bluetooth device, key FOB, badge,etc.) capable of communicating with the network. The merchant and/orpayment provider may utilize a network computing device (e.g., a networkserver) capable of communicating with the network. It should beappreciated that each of the devices utilized by users, merchants, andpayment providers may be implemented as computer system 400 in a manneras follows.

Computer system 400 includes a bus 402 or other communication mechanismfor communicating information data, signals, and information betweenvarious components of computer system 400. Components include aninput/output (I/O) component 404 that processes a user action, such asselecting keys from a keypad/keyboard, selecting one or more buttons orlinks, etc., and sends a corresponding signal to bus 402. I/O component404 may also include an output component, such as a display 411 and acursor control 413 (such as a keyboard, keypad, mouse, etc.). Anoptional audio input/output component 405 may also be included to allowa user to use voice for inputting info nation by converting audiosignals. Audio I/O component 405 may allow the user to hear audio. Atransceiver or network interface 406 transmits and receives signalsbetween computer system 400 and other devices, such as another userdevice, a merchant server, or a payment provider server via network 360.In one embodiment, the transmission is wireless, although othertransmission mediums and methods may also be suitable. A processor 412,which can be a micro-controller, digital signal processor (DSP), orother processing component, processes these various signals, such as fordisplay on computer system 400 or transmission to other devices via acommunication link 418. Processor 412 may also control transmission ofinformation, such as cookies or IP addresses, to other devices.

Components of computer system 400 also include a system memory component414 (e.g., RAM), a static storage component 416 (e.g., ROM), and/or adisk drive 417. Computer system 400 performs specific operations byprocessor 412 and other components by executing one or more sequences ofinstructions contained in system memory component 414. Logic may beencoded in a computer readable medium, which may refer to any mediumthat participates in providing instructions to processor 412 forexecution. Such a medium may take many forms, including but not limitedto, non-volatile media, volatile media, and transmission media. Invarious implementations, non-volatile media includes optical or magneticdisks, volatile media includes dynamic memory, such as system memorycomponent 414, and transmission media includes coaxial cables, copperwire, and fiber optics, including wires that comprise bus 402. In oneembodiment, the logic is encoded in non-transitory computer readablemedium. In one example, transmission media may take the form of acousticor light waves, such as those generated during radio wave, optical, andinfrared data communications.

Some common forms of computer readable media includes, for example,floppy disk, flexible disk, hard disk, magnetic tape, any other magneticmedium, CD-ROM, any other optical medium, punch cards, paper tape, anyother physical medium with patterns of holes, RAM, PROM, EEPROM,FLASH-EEPROM, any other memory chip or cartridge, or any other mediumfrom which a computer is adapted to read.

In various embodiments of the present disclosure, execution ofinstruction sequences to practice the present disclosure may beperformed by computer system 400. In various other embodiments of thepresent disclosure, a plurality of computer systems 400 coupled bycommunication link 418 to the network (e.g., such as a LAN, WLAN, PTSN,and/or various other wired or wireless networks, includingtelecommunications, mobile, and cellular phone networks) may performinstruction sequences to practice the present disclosure in coordinationwith one another.

Where applicable, various embodiments provided by the present disclosuremay be implemented using hardware, software, or combinations of hardwareand software. Also, where applicable, the various hardware componentsand/or software components set forth herein may be combined intocomposite components comprising software, hardware, and/or both withoutdeparting from the spirit of the present disclosure. Where applicable,the various hardware components and/or software components set forthherein may be separated into sub-components comprising software,hardware, or both without departing from the scope of the presentdisclosure. In addition, where applicable, it is contemplated thatsoftware components may be implemented as hardware components andvice-versa.

Software, in accordance with the present disclosure, such as programcode and/or data, may be stored on one or more computer readablemediums. It is also contemplated that software identified herein may beimplemented using one or more general purpose or specific purposecomputers and/or computer systems, networked and/or otherwise. Whereapplicable, the ordering of various steps described herein may bechanged, combined into composite steps, and/or separated into sub-stepsto provide features described herein.

The foregoing disclosure is not intended to limit the present disclosureto the precise forms or particular fields of use disclosed. As such, itis contemplated that various alternate embodiments and/or modificationsto the present disclosure, whether explicitly described or impliedherein, are possible in light of the disclosure. Having thus describedembodiments of the present disclosure, persons of ordinary skill in theart will recognize that changes may be made in form and detail withoutdeparting from the scope of the present disclosure. Thus, the presentdisclosure is limited only by the claims.

What is claimed is:
 1. A system comprising: a non-transitory memory; andone or more hardware processors coupled to the non-transitory memory andconfigured to read instructions from the non-transitory memory to causethe system to perform operations comprising: in response to receiving,from a user device, information corresponding to the user devicedetecting a wireless signal from a wireless beacon installed at alocation, determining a unique identification (ID) for the wirelessbeacon; accessing a database, wherein the database associates aplurality of unique IDs with respective applications; determining, usingthe database, an application associated with the unique ID for thewireless beacon, the application providing functions and/or informationassociated with the location; and causing the application to beautomatically installed on the user device.
 2. The system of claim 1,wherein the application is associated with the location, and wherein thecausing the application to be automatically installed is further basedon a Global Positioning System (GPS) coordinate detected at the userdevice being within a predetermined distance from a GPS coordinate ofthe location.
 3. The system of claim 1, wherein the determining theunique ID is based on the user device detecting the wireless signal formore than a predetermined amount of time.
 4. The system of claim 1,wherein an installation file for the application associated with theunique ID was pre-loaded at the user device, and wherein the causing theapplication to be automatically installed comprises causing an installerapplication with the installation file to be executed to install theapplication at the user device.
 5. The system of claim 4, wherein theinstallation file was downloaded from an application server to the userdevice when the user device was approaching the location before enteringthe location.
 6. The system of claim 1, wherein the application isinstalled on the user device after obtaining a permission from a user.7. The system of claim 1, wherein the application is installed on theuser device automatically without obtaining a permission from a user. 8.The system of claim 1, wherein the unique ID is associated with aplurality of applications each corresponding to a specific time, andwherein the determining the application comprises selecting one of theplurality of applications for installation based on a current time atthe user device.
 9. The system of claim 1, wherein the operationsfurther comprise causing the application to be uninstalled from the userdevice based on the user device no longer detecting the wireless signalfrom the wireless beacon.
 10. The system of claim 9, wherein the causingthe application to be uninstalled is based on the user device no longerdetecting the wireless signal for more than a predetermined amount oftime.
 11. The system of claim 1, wherein the wireless signal comprises aWi-Fi signal or a Bluetooth Low Energy signal.
 12. A method comprising:in response to receiving, from a user device, information correspondingto the user device detecting a wireless signal from a wireless beaconinstalled at a location, determining, by a hardware processor, a uniqueidentification (ID) for the wireless beacon; accessing, by the hardwareprocessor, a database, wherein the database associates a plurality ofunique IDs with respective applications; determining, using the databaseby the hardware processor, an application associated with the unique IDfor the wireless beacon, the application providing functions and/orinformation associated with the location; and causing, by the hardwareprocessor, the application to be automatically installed on the userdevice.
 13. The method of claim 12, further comprising causing theapplication to be uninstalled from the user device based on the userdevice no longer detecting the wireless signal from the wireless beacon.14. The method of claim 13, wherein the causing the application to beuninstalled from the user device is based on the user device no longerdetecting the wireless signal for more than a predetermined amount oftime.
 15. The method of claim 13, further comprising maintaining aninstallation file of the application at the user device after theapplication is uninstalled.
 16. The method of claim 12, furthercomprising causing the application to be uninstalled from the userdevice based on a Global Positioning System (GPS) coordinate detected atthe user device being more than a predetermined distance from a GPScoordinate of the location.
 17. The method of claim 12, furthercomprising: determining whether the user device has departed from thelocation; determining whether a user continues to use the application;and maintaining the application at the user device when the user devicehas departed from the location and the user continues to use theapplication.
 18. A non-transitory computer-readable medium having storedthereon machine-readable instructions executable to cause a machine toperform operations comprising: in response to receiving, from a userdevice, information corresponding to the user device detecting awireless signal from a wireless beacon installed at a location,determining a unique identification (ID) for the wireless beacon;accessing a database, wherein the database associates a plurality ofunique IDs with respective applications; determining, using thedatabase, an application associated with the unique ID for the wirelessbeacon, the application providing functions and/or informationassociated with the location; and causing the application to beautomatically installed on the user device.
 19. The non-transitorycomputer-readable medium of claim 18, wherein the operations furthercomprise causing the application to be uninstalled from the user devicebased on the user device no longer detecting the wireless signal fromthe wireless beacon.
 20. The non-transitory computer-readable medium ofclaim 19, wherein the application is uninstalled automatically withoutobtaining a permission from a user.